#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include<QTimer>
#include<QMouseEvent>
#include "map.h"
#include "heroplane.h"
#include "bullet.h"
#include "enemyplane.h"
#include "bomb.h"


QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
    //初始化场景
    void initScene();

    //启动游戏
    void playGAME();

    //更新所有元素坐标
    void updatePosition();

    //绘制到屏幕中
    void paintEvent(QPaintEvent *);

    //重写鼠标移动事件
    void mouseMoveEvent(QMouseEvent *);

    //碰撞检测
    void collisionDetection();

    //敌机出场
    void enemyToScene();

    //敌机
    EnemyPlane m_enemies[ENEMY_NUM];

    //敌机出场间隔控制变量
    int m_recorder;

    //地图对象
    Map m_map;

    //飞机对象
    HeroPlane m_hero;

    //定时器
    QTimer m_timer;

    //爆炸动画
    Bomb m_bombs[EXP_NUM];


private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
